This disclosure is related to an architecture for packing variable length binary codes.
Entropy encoding is usually an integrated part of nearly all the image/video/text/data compression processes and International standards. Most image and video compression standards, including, for example, JPEG (Joint Photographic Experts Group) for still continuous tone image compression standard [ISO/IEC JTC1/SC29 IS 10918], JBIG (Joint Bi-Level Image Experts Group) for bi-level image compression standard [ISO/IEC JTC1/SC2/WG9, CD 11544], CCITT Group 3 and, Group 4 for facsimile standard [Hunter, et. al, International Digital Facsimile Coding, Standards, Proceedings of the IEEE, Vol. 68, No. 7, July 1980, pp. 854-867], ITU-T H.2.6x (e.g., H.261, H.163, H.263+) for video coding standards for video teleconferencing and MPEG (Moving Picture Experts Group) family, (e.g. MPEG1 [ISO/IEC JTC1/SC29 IS 11172], MPEG2 [ISO/IEC JTC1/SC29 IS 13818], MPEG4 [ISO/IEC JTC1/SC29/WG11 N1238]) for video compression standard suitable for storage, etc. as well as other text/data compression processes, such as gzip, pkzip, UNIX-compress, etc. employ variable length coding (VLC), such as Huffman coding, for example.
As is well-known, in VLC encoding, the encoder maps the input source data into binary code words of variable length. A hardware device to make the process of producing and/or outputting these code words convenient or easy to implement is desirable.